Signature Fact
AlloyのSignatureの定義の直後にAlloyのFactを書ける
sig X {}定義直後の{}
暗黙の限量により簡潔に書ける
ただし、Factで書いた場合のどういう式と等価であるかはちゃんと理解してないとミスる
以下の2つは等価
Signature Factで記述
code:alloy
sig S {...} { F }
AlloyのFactで記述
code:alloy
sig S {...}
fact { all this: S | F" }
例
/mrsekut-book-4274068587/135
以下の2つは等価
code:alloy
sig Host {}
sig Link { from, to: Host }
fact { all x: Link | x.from != x.to }
code:alloy
sig Host {}
sig Link { from, to: Host } { from != to }
https://alloytools.org/tutorials/online/sidenote-format-appended-fact.html
https://alloytools.org/spec.html#:~:text=the%20signature%20declaration-,sig%20S%20{...}%20{%20F%20},-the%20signature%20fact
@で展開の抑制ができる
/mrsekut-book-4274068587/135
/mrsekut-book-4274068587/135